// 版权归Go作者所有。版权所有。
// 此源代码的使用受BSD样式的约束
// 可以在许可证文件中找到的许可证。

// 开始：建造！aix&！达尔文&！蜻蜓&！freebsd&！linux&&！netbsd&！openbsd&！窗户
// +建造！aix，！达尔文，！蜻蜓，！freebsd，！linux，！netbsd，！openbsd，！窗户

package ld

// Mmap分配具有给定大小的堆内输出缓冲区。它复制
// 将任何旧数据（如果有）发送到新缓冲区。
func (out *OutBuf) Mmap(filesize uint64) error {
	// 在应用重新定位之前，我们需要空间来放置所有符号。
	oldheap := out.heap
	if filesize < uint64(len(oldheap)) {
		panic("mmap size too small")
	}
	out.heap = make([]byte, filesize)
	copy(out.heap, oldheap)
	return nil
}

func (out *OutBuf) munmap() { panic("unreachable") }
